Pervasive computing promises an environment in which people will be able to access any content, anywhere, at any time, and on any device. While pervasive computing offers several advantages, one of its shortcomings is that there may be increased access latency due to the extremely dynamic and variable nature of such an environment. In addition to the traditional problem of access latency due to network and server load, there are three additional factors that contribute to latency.
The first factor is device heterogeneity. That is, client devices have different form factors, modalities, and presentation formats. Due to this heterogeneity, it is necessary to have format transformation (or transcoding) capabilities in content delivery networks, especially for dynamically generated data. Such transcoding operations introduce latency that will be perceived by the user.
The second factor is network infrastructure. There are large variations in the physical characteristics of wireless channels which affect the performance perceived by the end user. This is due not only to the number of different such technologies available today but also to inherent properties of wireless channels such as multi-path fading problems, distance between client and base stations, and interference problems resulting from shared spectrum. A user's experience of accessing services can change dramatically and is a function of the user's location, the available link technologies and the number of active connections operating in the same frequency band.
The third factor is user context. Services that are available to the user may change as a function of time and as a function of the user's context. For example, services accessed in a professional environment may be different from the services accessed in a home environment. In such a situation, discovering the appropriate services at each location and binding them (i.e., interconnecting the services to each other and to other application components) introduces additional latency.
Traditional caching schemes used on proxy servers or edge servers are not sufficient to reduce access latency in pervasive environments due, primarily, to two main reasons. First, content and applications are increasingly personalized to suit the tasks and tastes of individual users. Thus, content cached for one user is often unsuitable for other users. Second, increased user mobility potentially reduces access locality, thus reducing the effectiveness of caching.
Traditional caching schemes used on client devices are also not sufficient in pervasive environments. First, mobile and task-specialized devices may be resource constrained and thus may not be able to support a sufficiently large caching storage area. Second, many pervasive applications are context specific. For example, the content delivered to the device might be specific to the geographic location of the device. Thus, content cached for one location may not be suitable in other locations.
U.S. Pat. No. 5,493,692, entitled “Selective Delivery of Electronic Messages in a Multiple Computer System Based on Context and Environment of a User,” to Theimer et al. (hereinafter referred to as the '692 patent), which is hereby incorporated by reference herein, discloses a method for selectively delivering electronic messages to an identified user or users in a system of mobile and fixed devices, based on the context of the system and the environment of the identified user. However, the '692 patent does not include context information that includes historical information and future plans. Additionally, although the '692 patent uses current context information to deliver electronic messages, the '692 patent does not use context information to pre-distribute and pre-process all kinds of content, as well as to manage replication among multiple copies of content.
Pre-fetching based on hyperlinks (and more generally, application structure) has been studied and applied extensively. For example, a paper entitled “Pre-fetching Hyperlinks” by Dan Duchamp teaches a method for pre-fetching web pages into a client cache. This work makes predictions based on document content only, and does not make use of any other forms of context information. It also does not address the issues of preparation or replication management.
U.S. Pat. No. 6,243,755, entitled “Information Processing System Using Information Caching Based on User Activity,” to Takagi et al. (hereinafter referred to as the '755 patent), which is hereby incorporated by reference herein, discloses a system and method to predict the information that will be required in the future by individual users using computing devices and the time at which this information will be required, based upon knowledge of the users' activity schedule. The prediction is used to transfer the necessary information to the computing device at the necessary time via a network. However, the '755 patent does not teach either management of the replicated copies of content created due to pre-fetching, or preparation of content such as via binding and transcoding ahead of time.
It is therefore apparent that a need exists for improved techniques which avoid the problems associated with the conventional approaches.